A network, such as an Internet protocol (IP)-based network, may have redundant links or connections between nodes. For example, a server may be connected to multiple routers. While nodes may be connected via multiple links, network configuration may prevent the multiple links from being used at the same time. For example, in a local area network (LAN), packets may be forwarded by a layer 2 packet forwarding device. To prevent loops that cause broadcast radiation or a broadcast storm (e.g., numerous copies of packets being continuously forwarded throughout the network), an appropriate layer 2 protocol, such as spanning tree protocol (STP), may be used to create a loop-free topology. For example, STP may be used to create a spanning tree within a network of connected layer 2 packet forwarding devices. In particular, STP may block redundant links such that a single active path between any two network nodes is used for forwarding packets.
While STP and similar protocols prevent loops and loop-related problems, the redundant links are effectively dormant unless a currently active link fails or becomes inactive at which time the redundant link may become active. Thus, for a network where every node is connected to every other node by two links, STP and similar protocols typically may result in an inefficient use of available resources (e.g., available network bandwidth) due to loop preventing blocking.
One solution for this inefficient use of available resources is to use additional connection and link layer logic in the network. For example, multiple physical links associated with a single device can be treated as a single logical connection. In a second example, multiple physical links associated with a plurality of devices can be treated as a single logical connection. Using logical connections and associated link layer logic may prevent loop-related problems and may allow redundant links to be used in forwarding packets. For example, packets may be load shared among multiple links of a logical connection for reaching a destination. As such, a logical connection may allow resources to be more efficiently utilized. However, problems may arise when one or more links in a logical connection fails, e.g., packets forwarded via a failed link may not reached their destination.
Conventionally, when a logical connection associated with ports of a plurality of devices experiences a failure, one or more of the devices may perform a convergence operation. A conventional convergence operation may include deleting an entry (e.g., a media access control (MAC) address and port information) associated with the failed or inactive link in a forwarding database, determining an available link associated with the logical connection and related port information for using the available link, and replacing, in the forwarding database, the deleted entry with an entry including the port information for using the available link.
One shortcoming associated with the convergence operation is that as the number of forwarding databases entries increases, the amount of time to complete the convergence operation increases proportionately. For example, the time to perform a convergence operation as described above can increase linearly with the number of forwarding database entries needing to be deleted and re-learned. Thus, for a database having a large number of entries, the time it takes to complete a convergence operation may result in various applications and services (e.g., real-time or near real-time applications) experiencing problems or even failure.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer readable media for improved multi-switch link aggregation group (MLAG) convergence.